import Vue from 'vue'
import Vuex from 'vuex'
import { getSession, setSession, removeSession } from "@/utils/session";
Vue.use(Vuex)

const state = {
    curCourse: JSON.parse(getSession("curCourse")),
    politicalData:{}
}

const getters = {
    curCourse(state) {
        if (!state.curCourse) return;
        return state.curCourse;
    },
    courseId(state) {
        if (!state.curCourse) return;
        return state.curCourse.id;
    },
    courseTitle(state) {
        if (!state.curCourse) return;
        return state.curCourse.title;
    },
    courseCreateBy(state) { //课程创建人
        if (!state.curCourse) return;
        return state.curCourse.createBy;
    },
    politicalData(state) { //首页思政元素数据储存
        
        if (!state.politicalData) return;
        return state.politicalData;
    },
}

const actions = {
    setCourse({ commit }) {
        let curCourse = JSON.parse(getSession("curCourse"));
        commit('SETCURCOURSE', curCourse)
    },
    SETPOLITICAL({ commit }) {
        
        commit('SETCURCOURSE', commit)
    },
}

const mutations = {
    SETCURCOURSE: (state, d) => {
        if (d) {
            setSession("curCourse", JSON.stringify(d))
        } else {
            removeSession("curCourse")
        }
        state.curCourse = d;
    },
    SETPOLITICAL: (state, d) => {
        state.politicalData = d;
    }
}

export default {
    state,
    getters,
    actions,
    mutations
}